package com.example.backend.service;

import com.example.backend.util.PageUtils;
import org.springframework.stereotype.Service;

/**
 * @Author Jcy
 * @Date 2022/5/3
 */

@Service
public interface PostService {
    /**
     *发帖服务
     * @param userId 发表帖子的用户id
     * @param content 帖子内容
     * @return 发表是否成功，0为创建成功，1为创建失败
     */
    public int createPost(int userId, String content);
    /**
     *点赞帖子服务
     * @param userId 点赞帖子的用户id
     * @param postId 被点赞帖子id
     * @return 发表是否成功，0为点赞成功，1为点赞失败
     */
    public int like(int postId, int userId);

    /**
     *评论帖子服务
     * @param userId 评论帖子的用户id
     * @param postId 被评论帖子id
     * @param comment 评论内容
     * @return 发表是否成功，0为评论成功，1为评论失败
     */
    public int comment(int userId, int postId, String comment);

    /**
     *删除帖子服务
     * @param postId 被删除帖子id
     * @return 发表是否成功，0为删除成功，1为删除失败
     */
    public int deletePost(int postId);

    /**
     *修改帖子服务
     * @param postId 被修改帖子id
     * @param content 修改内容
     * @return 发表是否成功，0为修改成功，1为修改失败
     */
    public int modifyPost(int postId, String content);

    /**
     * 管理员无条件删帖服务
     * @param postId 要删除帖子id
     * @return 删除是否成功，0为删除成功，1为帖子不存在，2为删除失败
     */
    public int deletePostByAdmin(int postId);
    public PageUtils getPosts(int page, int pageSize);
    public PageUtils getComments(int page, int pageSize);
    public PageUtils getUserPosts(int userId,int page, int pageSize);
}
